function setup_grid()
{
    var offsW = 19;
    var offsH = 85;



    var w = $('#content').innerWidth() - offsW;
    var h = $('#content').innerHeight() - offsH;

    $('#grp-list').setGridHeight(h);
    $('#grp-list').setGridWidth(w, true);

}
var no_setup_row = false;

function first_row_sel(data)
{

    if(!no_setup_row)
    {
        var row = $('#grp-list tr:nth-child(2)').attr('id');

        $("#grp-list").jqGrid().setSelection(row, true);
        no_setup_row = true;
    }
}

function center_form(form) 
{
    var grid = $("#grp-list").jqGrid();
    var dlgDiv = $("#editmod" + grid[0].id);
    var dlgWidth = dlgDiv.width();
    var dlgHeight = dlgDiv.height();
  
    var parentWidth = $(window).width();
    var parentHeight = $(window).height();
                  
    dlgDiv[0].style.top = Math.round((parentHeight-dlgHeight)/2) + "px";
    dlgDiv[0].style.left = Math.round((parentWidth-dlgWidth)/2) + "px";
}

$(function() { 
  $("#grp-list").jqGrid({
    url:'req/grp_list.php',
    editurl:'req/grp_edit.php', 
    datatype: 'json',
    mtype: 'GET',
    colNames:['Название группы', 'Описание'],
    colModel :[ 
      {name:'name', index:'name', width:185, editable: true}, 
      {name:'g_desc', index:'g_desc', editable: true} 
    ],
    sortname: 'name',
    sortorder: 'desc',
    viewrecords: true,
    loadComplete: first_row_sel
  });

function checkSubmit(data, formid)
{
    if (data.name == "")
    {
        return [false, "Название группы не может быть пустым !"]
    }

    if (data.g_desc == "")
    {
        return [false, "Описание группы не может быть пустым !"]
    }

    return [true,""]
}

$( "#edit-button" )
            .button()
            .click(function() {
                var gr = jQuery("#grp-list").jqGrid('getGridParam','selrow'); 

                if( gr != null ) 
                    jQuery("#grp-list").jqGrid('editGridRow',gr, { reloadAfterSubmit:false,closeAfterEdit:true, width:'auto', height:'auto',
                        modal:true,closeOnEscape:true, beforeSubmit: checkSubmit, resize: false, beforeShowForm:center_form }); 

                else 
                    alert("Выбирите строку для редактирования !"); 
            });

$( "#add-button" )
            .button()
            .click(function() {
                    jQuery("#grp-list").jqGrid('editGridRow',"new",{reloadAfterSubmit:true,closeAfterAdd:true,
                                        modal:true,closeOnEscape:true, beforeSubmit: checkSubmit, resize: false,
                                        width: 'auto', height: 'auto', beforeShowForm:center_form }); 
            });


$("#remove-button")
            .button()
            .click(function() { 

                var gr = $("#grp-list").jqGrid('getGridParam','selrow'); 
                if( gr != null ) 
                {
                  var data = $("#grp-list").jqGrid().getRowData(gr);

                  if (confirm("Удалить группу "+data.name))
                  {
                    $.post("req/grp_edit.php", {oper:"del", id:gr},
                          function(_data)
                                  {
                                    $("#grp-list").jqGrid().trigger("reloadGrid");
                                  }
                              );
                  }
                }
                else 
                {
                    alert("Выбирите строку для удаления !"); 
                }
            });

    setup_grid();

    $(window).resize(setup_grid);
        
}); 
